In data communications networks, it is desirable for data communications networks subscribers to be able to obtain, in real time, current data network usage information. For example, if a data network subscriber subscribes to use five gigabytes of data per month, it may be desirable for the subscriber to be able to obtain, in real time, the subscriber's current data network usage, so that the subscriber can purchase data capacity and/or change his or her data network usage behavior.
One approach for providing data network usage information may be to use a subscription profile repository (SPR). In long term evolution (LTE) networks, the SPR stores a subscriber's data network usage profile, i.e., the data allocation to which the subscriber subscribes and also usage information. However, the usage information in SPR is typically only updated when a data network session terminates. It may be desirable for the subscriber to obtain data network usage information in real time while the subscriber is participating in one or more data network sessions. Waiting until session termination to obtain this information may not be desirable in some instances.
Another option for providing data network usage information to a subscriber may be to obtain the data network usage information from the policy control and enforcement function (PCEF). However, the PCEF that serves a particular subscriber is determined dynamically. An information technology (IT) system that a subscriber contacts to obtain network usage information may not have current PCEF information for a subscriber. Thus, having an IT system obtain data network usage information directly from the PCEF may not be possible due to the lack of knowledge of the serving PCEF. It is also not desirable to retrieve fast changing dynamic state data (such as current byte count of a session) using an IT interface.
Even if the PCEF could be queried by an IT system for a subscriber's data network usage information, the PCEF may not have a complete view of the subscriber's data network usage allocation. In this scenario, the PCRF is the usage manager, the PCEF is the usage tracker, and the SPR is the long term storage of usage information. When a user session first comes up, the usage manager reads from storage the usage information and calculates what's available for the session. For example, a subscriber's the monthly limit may be 5 GB and the subscriber has used 1 GB. So the usage manager (the PCRF) knows that 4 GB is available for the user session. The PCRF may not allocate the entire amount to the usage tracker (the PCEF). The PCRF may allocate to the tracker 100 MB to be tracked. When the subscriber uses up the amount, 100 MB, the tracker reports it to the manager, which may then allocate another 100 MB chunk. It may happen a few times during the life time of the session. Continuing the example here, the subscriber may be using the 4th 100 MB chunk. The usage manager is the only one that knows this—1.3 GB of the monthly allowance is used and the user is in the process of consuming another 100 MB chunk. Even if the IT system is able to connect to the PCEF and retrieve the snapshot, the only thing the IT system can identify is how much of the 100 MB chunk is used, e.g., 60M. On the other hand, the PCRF as the usage manager will perform necessary calculations of the previous chunks consumed before writing the final value to the SPR. Thus, contacting the PCEF alone may not provide a complete picture of the subscriber's data network usage.
Yet another problem of obtaining usage information directly from a PCEF is that the user may have multiple concurrent sessions served by different PCEFs. In such a case, if the IT system contacts a single PCEF, the IT system will not have all of the subscriber's current network usage. For a direct interface to provide an accurate usage count, the IT system would be required to have direct interfaces to any PCEF that could possibly serve a subscriber. Such a solution is not scalable or practical.
Providing current data network usage information may be useful to a subscriber and a network operator. For example, if the current session will cause the subscriber to exceed his data allocation, the subscriber may wish to have this information during the session so that the subscriber can terminate the session or purchase additional data network capacity. The network operator may desire to offer the subscriber the opportunity to purchase additional data network usage quota before the current quota is exceeded.
Accordingly, in light of these difficulties, there exists a need for methods, systems, and computer readable media for providing real time data network usage information using an SPR.